home *** CD-ROM | disk | FTP | other *** search
/ LOGIC Apps / Logic-APPLE_II_APPS.iso / pc / LOGIC Apple II 5.25" Library - DOS Part 2 / DOS033.dsk / GAMBLER'S RUIN.bas < prev    next >
BASIC Source File  |  2012-02-16  |  4KB  |  114 lines

  1. 10  CLEAR : HOME 
  2. 20  PRINT  TAB( 12)"GAMBLER'S RUIN"
  3. 30  PRINT 
  4. 40  PRINT  TAB( 8)"H.EDELSTEIN  NOV 29,1979"
  5. 50  PRINT 
  6. 60  PRINT "   SHOWS HOW THE GAMBLER IS RUINED"
  7. 70  PRINT "EVEN IF THE ODDS ARE 'FAIR'...THAT IS,"
  8. 80  PRINT "EVEN IF HOUSE PERCENT IS CLOSE TO ZERO."
  9. 90  PRINT "   THE PLAYER'S NET GAIN OR LOSS"
  10. 100  PRINT "IS PLOTTED AFTER EACH PLAY."
  11. 110  PRINT 
  12. 120  PRINT "   HERE ARE SUGGESTED STARTING VALUES:"
  13. 130  PRINT "       HOUSE FUNDS:     $1000
  14. 140  PRINT "       HOUSE PERCENTAGE:  5 "
  15. 150  PRINT "       PLAYER'S FUNDS:  $25
  16. 160  PRINT "       ODDS(E.G. 9 TO 1):  9"
  17. 170  PRINT "       SIZE OF BET:     $1
  18. 180  PRINT 
  19. 190  PRINT "NOW ENTER THESE VALUES OR YOUR OWN:"
  20. 200  INPUT "       HOUSE FUNDS:     $";RH
  21. 210  INPUT "       HOUSE PERCENTAGE:  ";HPCT
  22. 220  INPUT "       PLAYER'S FUNDS:  $";RP
  23. 230  IF RP >100  THEN  PRINT "SORRY......": PRINT "WE DON'T ALLOW YOU LOSE MORE THAN $100.": GOTO 220
  24. 240  INPUT "       ODDS:             ";ODDS
  25. 250 PW =  INT((1 -(HPCT/100)) *1000 *(1/(ODDS +1)) +.5)/1000
  26. 260  PRINT "         (PROB. OF WIN IS: ";PW
  27. 270  INPUT "       SIZE OF BET:     $";B
  28. 280  HOME 
  29. 310 R = RP
  30. 320 H = RH
  31. 330 P = PW
  32. 340 PA = B *ODDS
  33. 350  FOR J = 1 TO 100
  34. 360  HGR : HCOLOR= 3
  35. 370  HPLOT 0,0 TO 0,159
  36. 380  HPLOT 0,50 TO 200,50
  37. 390  HPLOT 205,25 TO 225,25
  38. 400  HPLOT 215,15 TO 215,35
  39. 410  HPLOT 205,65 TO 225,65
  40. 420  HPLOT 0,50 +R TO 200,50 +R
  41. 430  VTAB 22
  42. 460  PRINT  TAB( 10)"YOU ARE          :  $"
  43. 470  FOR LOOP = 1 TO 100
  44. 480 PLAY =  RND(1)
  45. 490  IF PLAY >P  THEN  LET L = L +1:RH = RH +B:RP = RP -B: GOTO 520
  46. 500  IF PLAY < = P  THEN  LET W = W +1:RH = RH -PA:RP = RP +PA
  47. 510  IF RH < = 0  THEN  GOSUB 5000: GOTO 660
  48. 520 Y = 50 -(W *PA -L *B)
  49. 522 G = Y
  50. 525  IF Y > = 159  THEN  LET Y = 159
  51. 540  IF Y <0  THEN  LET Y = 0
  52. 542  IF (50 -G) <0  THEN  GOSUB 6000
  53. 544  IF (50 -G) > = 0  THEN  GOSUB 6020
  54. 550  VTAB 22: HTAB 32: PRINT 50 -G;"  "
  55. 555  VTAB 22: HTAB 19: PRINT R$
  56. 560  HPLOT LOOP *2,Y
  57. 570 N = N +1:FR = W/(W +L):F =  INT(FR *1000)/1000
  58. 580  IF RP < = 0  THEN  GOSUB 4000
  59. 590  IF RP < = 0 GOTO 640
  60. 592 V =  PEEK( -16384)
  61. 594  IF V >127  THEN  GOTO 660
  62. 600  NEXT LOOP
  63. 610  NEXT J
  64. 620  VTAB 24: PRINT "YOU HAVE NOW HAD 10,000 PLAYS."
  65. 630  PRINT "CASH IN YOUR CHIPS:PRESS SPACE BAR.": GET A$: GOTO 660
  66. 640  VTAB 24
  67. 650  PRINT "YOU ARE WIPED OUT !  PRESS SPACE BAR.": GET A$
  68. 660  TEXT : HOME 
  69. 670  PRINT "     BEFORE PLAY"
  70. 680  PRINT "  -----------------"
  71. 690  PRINT "   HOUSE FUNDS: $";H
  72. 700  PRINT "PLAYER'S FUNDS: $";R
  73. 710  PRINT "           BET: $";B
  74. 720  PRINT "HOUSE PERCENTAGE IS ";HPCT;" WITH ODDS ";ODDS;" TO 1."
  75. 730  PRINT "PLAYER'S PROBABILITY OF WIN: ";P
  76. 740  PRINT 
  77. 750  PRINT "      AFTER PLAY"
  78. 760  PRINT "  -----------------"
  79. 770  PRINT "NO. OF PLAYS:     ";N
  80. 780  PRINT "NO. OF WINS:      ";W
  81. 790  PRINT "NO. OF LOSSES:    ";L
  82. 800  PRINT "FRACTION WON:     ";F
  83. 810  PRINT "HOUSE FUNDS:      $";RH
  84. 820  PRINT "PLAYER'S FUNDS:   $";RP
  85. 830  PRINT 
  86. 840 RUIN =  INT(100000 *(H/(H +R)))/100000
  87. 850  IF HPCT = 0  THEN  LET NP = H *R: GOTO 870
  88. 860 NP =  INT(R/(HPCT *.01) +.5)
  89. 870  PRINT "ACCORDING TO PROBABILITY THEORY,"
  90. 880  PRINT "YOUR PROBABILITY OF RUIN WAS ";RUIN
  91. 890  PRINT "WITHIN ";NP;" PLAYS."
  92. 900  PRINT "SEE 'LADY LUCK' BY WEAVER (ANCHOR BOOKS)"
  93. 920  INPUT "DO YOU WANT TO GAMBLE AGAIN? ";A$
  94. 930  IF  LEFT$(A$,1) = "Y" GOTO 10
  95. 940  HOME 
  96. 950  VTAB 10
  97. 960  PRINT  TAB( 16)"VERY WISE!"
  98. 970  FOR Z = 1 TO 1000: NEXT Z
  99. 980  HOME : END 
  100. 4000  FOR FQ = 1 TO 100
  101. 4010 TN =  PEEK( -16336)
  102. 4020  NEXT FQ
  103. 4030  RETURN 
  104. 5000  TEXT : HOME : VTAB 10
  105. 5010  PRINT  TAB( 18)"LUCKY YOU !"
  106. 5020  PRINT : PRINT : PRINT 
  107. 5030  PRINT  TAB( 10)"YOU BROKE THE HOUSE !"
  108. 5040  PRINT : PRINT : PRINT : PRINT : PRINT "(BUT ONLY BECAUSE IT WAS LOW IN FUNDS...THIS TIME.)"
  109. 5050  FOR Z = 1 TO 2500: NEXT Z
  110. 5060  RETURN 
  111. 6000 R$ = "LOSING "
  112. 6010  RETURN 
  113. 6020 R$ = "WINNING"
  114. 6030  RETURN